Method and system for engine control

ABSTRACT

A method for comprehensive integrated control of an internal combustion engine, such as a compression-ignition engine, utilizing an electronic control module is disclosed. The control strategy integrates various functions of engine control including an acceleration balance test for the engine cylinders, a fuel economy vehicle speed limit adder, a fueling limit for high altitude vehicle operation, throttle logic, a data-hub for operation trending and vehicle component lifing analyses, a gear ratio torque limit, an air temperature based torque limit, enhanced fan control, and an idle shutdown strategy based on ambient temperature.

TECHNICAL FIELD

The present invention relates to a method for controlling a compression-ignition internal combustion engine.

BACKGROUND ART

In the control of diesel engines, the conventional practice utilizes electronic control units having volatile and nonvolatile memory, input and output driver circuitry, and a processor capable of executing a stored instruction set, to control the various functions of the engine and its associated systems. A particular electronic control unit communicates with numerous sensors, actuators, and other electronic control units necessary to control various functions, which may include various aspects of fuel delivery, transmission control, or myriad others.

Early complex systems and subsystems which performed critical functions required separate control units which could promptly respond to dynamic vehicle situations and initiate appropriate actions. For example, a vehicle may have employed a brake controller, a cruise control module, a cooling fan controller, an engine controller, and a transmission controller, such that each vehicle system or subsystem had its own stand-alone controller. These controllers were either electronic control units or electronic circuits which may have had little or no communication among themselves or with a master controller. Thus, the vehicle was operated as a distributed control system, which often made it difficult to optimize overall vehicle performance by coordinating control of the various systems and subsystems.

As control systems became more sophisticated, the various distributed controllers were connected to communicate status information and coordinate actions. However, inter-controller communication delays were often unacceptable for critical control tasks, thus requiring independent processors or circuitry for those tasks. This expanded the overall capabilities of the control system and was often necessary to meet increasing consumer demands as well as more stringent emission control standards.

To meet these stricter standards, it has been necessary to expand the capabilities of the engine control system to more accurately control the engine operation. The complexity of the resulting control systems has often resulted in difficulty in the manufacturing, assembling, and servicing of vehicles. Manufacturers have attempted to decrease part proliferation, while increasing the accuracy of control, by combining increasingly more control functions into a single controller.

Advancements in microprocessor technology have facilitated the evolution of engine control systems. These systems began by implementing relatively simple control functions with mechanical apparatus, and progressed to more involved control schemes with dedicated controllers, before having matured as complex control strategies realized by a comprehensive engine controller. Many engine control systems found in the prior art address only a single subsystem control strategy and fail to capitalize on the advantages afforded by these microprocessor advancements. Another difficulty encountered by traditional, distributed engine control systems is the inability to protect the engine or engine components from system failures. Certain engine components, if operated during certain extreme operating conditions, may fail.

The desire to provide application specific vehicles at a competitive price has led to the availability of a number of customer options which may include some of the systems already noted such as vehicle speed control, engine speed control, or engine torque control. This in turn has lead to a large number of possible subsystem combinations, thus increasing the costs associated with manufacturing and assembly as well as the cost of field service due to the large number of spare components which must be manufactured and stored.

It is desirable to have an electronic control unit capable of integrating the control of various engine functions and associated vehicle systems, thus eliminating inter-controller communication delays and harmonizing engine control with other vehicle subsystems. An additional benefit accrues from replacing independent stand-alone controllers with a comprehensive controller, thus reducing part proliferation in the vehicle manufacturing, assembly, and service environments, leading to an associated reduction in the cost of these functions.

It is also desirable in optimizing overall vehicle performance, to have an electronic control unit which coordinates control of the engine with control of the transmission for smoother, more efficient shifting of the transmission. It is also desirable to provide for throttle logic, and to provide for cylinder balancing to determine relative power contribution from each cylinder.

Due to increasing cost of fuel, it is further desirable to provide a controller which encourages certain driving techniques in the vehicle operator. For example, it is desirable to provide an incentive to the driver to behave in a way consistent with typical fleet managers' goals of maximizing fuel economy.

It is also desirable to provide a controller which can control the engine in a manner which protects engine components during extreme operating conditions. For example, if a turbocharged vehicle is operated at high altitudes, the turbocharger will spin faster than a similar turbocharger operated at lower altitudes, and can be damaged.

SUMMARY OF THE INVENTION

It is therefore an object of the present invention to provide an integrated engine controller capable of performing a balance test for determining cylinder contributions.

It is a further object of the present invention to provide an integrated engine controller capable of controlling fuel delivery to maximize fuel economy via driver incentives, and capable of protecting engine components in the presence of certain operating conditions.

It is an additional object of the present invention to provide an integrated engine controller capable of performing throttle logic, and capable of controlling the transmission in conjunction with the engine.

Still further, it is an object of the present invention to provide an integrated engine controller capable of determining service intervals and performing trend analyses.

In carrying out the above objects and other objects and features of the present invention, a method, for use in a vehicle including an internal combustion engine having a plurality of cylinders, each cylinder having an associated fuel injector for dispensing fuel to the cylinder, is provided for balancing the fuel injectors. The method comprises operating the engine at a predetermined idle speed so as to permit the engine to stabilize, and cutting off the fuel delivered by the fuel injectors to at least one of the cylinders. The method also comprises measuring the acceleration RPM of the engine with the at least one cylinder cut out, and modifying the fuel delivered from the fuel injectors based on the measured acceleration RPM so as to balance the power output of each cylinder.

The present invention also contemplates a method, for use in a vehicle including an internal combustion engine, for improving fuel economy. The method comprises determining a fuel economy, determining a speed adder based on the determined fuel economy, and modifying the maximum vehicle speed available to the vehicle operator utilizing the speed adder.

Still further, the present invention also provides a method, for use in a vehicle including an internal combustion engine having a turbocharger, for preventing damage to the turbocharger from turbocharging surging and overspeed during vehicle operation at certain barometric pressures. The method comprises determining a torque modifier based on the barometric pressure associated with the altitude at which the vehicle is being operated, determining a limit torque based on the torque modifier, and limiting the engine turbo speed by limiting fuel delivery to the engine.

The present invention further contemplates a system, for use with a vehicle including an internal combustion engine and an electronic control module for controlling the engine, for sampling vehicular operating information utilizing a plurality of sensors and maintaining the sampled information in a plurality of pages. The system cooperates with the electronic control module to maintain a plurality of trends pages in the system, each page including a predetermined maximum number of samples, the trends pages providing an indication of a particular vehicle operating condition.

In still further carrying out the above objects and other objects and features of the present invention, a method for throttle logic is provided for use with a vehicle including an internal combustion engine controlled by an electronic control module and a vehicle operator-controlled throttle for controlling the amount of fuel delivered to the engine. The method comprises obtaining an impulse filtered throttle position offset by filtering the raw value of a throttle position sensor output, determining a smoothed throttle position offset based on the impulse filtered throttle position offset and a variable filter constant, and determining a computed throttle position offset based on a throttle position hysteresis and the smoothed offset.

The present invention also provides a method, for use in a vehicle including an internal combustion engine having a plurality of cylinders and a like plurality of pistons reciprocating in the cylinders, for preventing damage to the cylinders and pistons during vehicle operation. The method comprises determining the temperature of air inlet to the engine during combustion, and determining the operating speed of the internal combustion engine. The method also comprises determining an engine torque limit based on the air inlet temperature and the engine speed, and limiting the torque of the engine to the torque limit.

Additionally, there is provided a method, for use in a vehicle having a drivetrain including an internal combustion engine and a transmission coupled thereto, of engine torque control for preventing damage to the transmission. The method comprises determining a virtual gear ratio, and limiting the torque produced by the engine based on the value of the virtual gear ratio.

Methods are also provided for improved fan control and improved idle shutdown. Systems for carrying out the methods are also provided.

The above objects and other objects, features, and advantages of the present invention will be readily appreciated by one of ordinary skill in the art from the following detailed description of the best mode for carrying out the invention when taken in connection with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an integrated control system for a compression-ignition internal combustion engine in accordance with the present invention;

FIG. 2 is a flow chart detailing the steps for cylinder balance testing according to the present invention;

FIG. 3 is a flow chart detailing the steps for fuel economy speed limit addition according to the present invention;

FIG. 4 is a graphical representation of the high altitude torque reduction as a function of barometeric pressure and engine speed according to the present invention;

FIG. 5 is a flow chart detailing the throttle logic according to the present invention;

FIG. 6 is a flow chart detailing the gear ratio torque limit strategy of the present invention; and

FIG. 7 is a graphical representation of absolute torque versus engine speed for use with the air temperature torque limit according to the present invention.

BEST MODE FOR CARRYING OUT THE INVENTION

Referring now to FIG. 1, there is shown an electronic control module (ECM) 20 in communication with typical engine componentry, shown generally by reference numeral 22, and a user-interface 34. As shown, the ECM 20 includes a microprocessor 24 having volatile random-access memory (RAM) 26, and nonvolatile read-only memory (ROM) 28. Of course, the ECM 20 may contain other types of memory instead of, or in addition to, RAM 26 and ROM 28, such as flash EPROM or EEPROM memories, as is well known in the art.

The ROM 28, or other nonvolatile memory, may contain instructions, which are executed to perform various control and information functions, as well as data tables, which contain calibration values and parameters characterizing normal engine operation. Microprocessor 24 imparts control signals to, and receives signals from, input and output (I/O) drivers 32. The I/O drivers 32 are in communication with the engine componentry 22 and serve to protect the controller from hostile electrical impulses while providing the signals and power necessary for engine control according to the present invention. The ECM componentry detailed above is interconnected by data, address and control buses. It should be noted that there are a variety of other possible control schemes which include various combinations of microprocessors and electric or electronic circuits which could perform the same function.

With continuing reference to FIG. 1, engine componentry 22 includes a plurality of electronic unit injectors (EUI) 40, each associated with a particular engine cylinder; and a plurality of sensors 42 for indicating various engine operating conditions, such as coolant temperature, air temperature, oil temperature, fuel temperature, innercooler temperature, throttle position, intake manifold pressure, fuel pressure, oil pressure, coolant pressure, cylinder position, and cylinder sequencing, to name a few. Engine componentry 22 also includes actuators 44 which may include solenoids, variable valves, indicator lights, motors, and/or generators. It should be appreciated that the ECM 20 may also be in communication with other vehicle componentry and microprocessors which control associated vehicle systems, such as the brakes, the transmission, a vehicle management system or a fleet management radio transponder.

The user-interface, or data-hub, 34 is used to store user selected parameters to monitor and values for those parameters, and determine service intervals and perform trend analyses. User selected parameters may include adjustable limits, such as desired engine oil life. Engine historical information may include diagnostic information which is used to assist personnel performing routine maintenance, or troubleshooting malfunctions, as well as engine and vehicle operation data, which may be analyzed to evaluate vehicle operator performance in addition to vehicle performance. The user-interface 34 also preferably performs component lifing and trend analyses, as described in greater detail below. It should be appreciated that although FIG. 1 illustrates the user-interface as being external to the ECM 20, certain operations performed by the user-interface could, of course, also be performed by the ECM 20.

The electronic control module 20 executes software so as to implement the various features of the present invention. In describing these features, equations will be provided and reference will be made to variables utilized by the ECM in executing the software. It should be noted that variables shown in lower-case italics are calibration variables, whereas variables shown in SMALL CAPS represent function variables, whose value varies and is based on, for example, operating conditions such as intake manifold pressure or engine speed.

Referring now to FIG. 2, there is shown a flow chart detailing the steps for an injector balance test according to the present invention. In the preferred embodiment, the ECM 20 attempts to balance the injectors 40 so that power delivery is approximately equal by performing an acceleration test to determine the relative power from each injector. At step 50, the ECM determines whether the acceleration balance test is to be started. In the preferred embodiment, the test is activated if an injector calibration message is received by the ECM 20 from the user-interface 34 and either the vehicle speed is zero or the vehicle speed sensor (VSS) is not configured and the balance flag (BALENB) is set. The BALENB flag is set by calibration. The acceleration balance test can be terminated in a number of ways. Preferably, the test is terminated when the test is complete, or when the ECM 20 receives a clear message from the user-interface 34. Additionally, the test is terminated when the ignition is turned to the "off" position, or if the vehicle speed is non-zero.

With continuing reference to FIG. 2, once the balance test is activated at step 50, a test sequence is entered at step 52 which includes an initializing step during which the idle speed is set to the value of BALSTR, a variable representing the balance start ramp RPM (the engine RPM at which the test starts). BALSTR preferably has a range of 0-2500 RPM and defaults to 1000 RPM. Additionally, requested torque is set to zero and the test cylinder variable (CYL_(TST)) is set to a value of `1` l at step 52.

At step 54, the engine is allowed to stabilize prior to commencement of the actual test. During the stabilizing period, the test cylinder is cut out from the fueling scheme. Control flow proceeds to step 56 when the stabilizing time exceeds or is equal to the settling time variable (BALTIM), which has a range of 0-30 seconds and a default value of 2 seconds.

As shown in FIG. 2, once the engine has stabilized, at step 56 the acceleration RPM with the test cylinder cut out is measured, starting with the first cylinder cut out. To do this, the fueling control signal, which could be a pulse width signal or derived from torque, for the remaining injectors is set to the value of BALFPW, and the beginning of injection (BOI) time for the remaining injectors is set to BALBOI, wherein BALFPW is the balance pulse width variable, which has a range of 0°-30° and a default value of 13° (of engine rotation), and wherein BALBOI is the balance beginning of fuel injection variable, which has a range of 0°-30° and a default value of 10°.

Control flow preferably proceeds to step 58 of FIG. 2 when the number of actual engine revolutions since the pulse width and injection time were set equals or exceeds BALREV, the variable representing the balance end ramp revolutions, which has a range of 0°-100° revolutions with a 1 revolution resolution and a default value of 8 revolutions. The value of BALREV is set so as to ensure the occurrence of a certain number of firings for the test. As is known, in a four stroke 8-cylinder engine, four cylinders fire for each engine revolution, whereas all eight cylinders are fired each revolution in a two stroke 8-cylinder engine. With BALREV and BALFPW set to the indicated defaults, an increase in engine speed of approximately 500 RPM will be realized during the test. At this point (revs≧BALREV), the engine speed is saved into memory for the cut out injector.

At step 58 of FIG. 2, the ECM determines whether or not an additional injector needs to be tested or whether the injector balance test is complete. If the value of CYL_(TST) exceeds or equals the number of engine cylinders (ZNCYLH), no additional injectors need to be tested and control flow skips to step 62, wherein adjustment factors are determined. If, however, additional injectors are to be tested, the value of CYL_(TST) is incremented at step 60, and control flow returns to step 54 so that steps 56 and 58 can be repeated for each injector to be tested.

With continuing reference to FIG. 2, at step 62 adjustment factors are calculated once all the injectors to be tested (i.e. cut out) have been tested. In the preferred embodiment, this entails first determining an average RPM (RPM_(AVG)) for the tested injectors according to the following: ##EQU1## wherein Σ(RPM) is the sum of all RPMs measured at the conclusion of step 56. Next, an adjustment RPM ratio (RPM_(ADJX)) is determined for each cylinder according to the following: ##EQU2## for x=1 to 8 for an eight cylinder engine, wherein RPM_(x) is the RPM measured at the conclusion of step 56 for the particular cylinder. The adjustment factors (FCT_(ADJX)), which will ultimately modify the final injector pulse width, are determined as follows:

    FCT.sub.ADJX =(RPM.sub.ADJX -1)*(ZNCYLH-1)*BALGAN          (3)

wherein BALGAN is the balance gain which has a range of 0-2 with a default value of 0.8. A temporary adjustment factor (FCT_(TMPX)) is then determined as follows:

    FCT.sub.TMPX =min(BALLIM,max(-BALLIM,(FCT.sub.ADJ(X-1)+FCT.sub.ADJX)))(4)

wherein BALLIM represents a balance limit having a range of 0-1 with a 0.01 resolution and a default value of 0.07. Thus, to determine the temporary adjustment factor, the ECM first identifies the maximum of -BALLIM and the sum of FCT_(ADJ)(X- 1) and FCT_(ADJX) (wherein FCT_(ADJ)(X- 1) is the previous adjustment factor for that cylinder). The EMC then compares that maximum to the value of BALLIM, and takes the minimum of those quantities as the temporary adjustment factor.

At step 64, the adjustment factors are updated, and the results are output to the user. In the preferred embodiment, updating the adjustment factors includes normalizing the calculated adjustment factors. Normalization of the adjustment factors is accomplished utilizing a normalizing factor, determined as follows:

    FCT.sub.NRMX = (1+FCT.sub.TMPX)                            (5)

Thus, FCT_(NRMX) is obtained by taking the product of all (1+FCT_(TMPX)) quantities. The fuel injector pulsewidth adjustment factor for each cylinder can then be determined as follows: ##EQU3## Once determined, at step 64 all of the adjustment factors for the cylinders cut out (i.e. all values of FCT_(X)) are stored in memory and then multiplied with the final injector pulsewidth:

    BALFPW=PWMULT*INCFAC.sub.X *FCT.sub.X *SPW                 (7)

wherein PWMULT is an engine-specific horsepower adjustment constant stored in non-volatile memory, INCFAC_(X) is the injector fuel flow rate, and SPW is the base fuel pulse width determined by the ECM based on operating conditions and known principles of ignition and combustion. Although not specifically shown in FIG. 2, the methodology could be performed using multiple iterations of the steps.

It is known that certain fuel injectors, sometimes termed high fuel, or hot, injectors, generate more power than other injectors. With the balance test of the present invention, the effects of this variation can be minimized by compensating the fuel delivery of each fuel injector. For example, if the engine has a high output injector, when that injector is cut out, the associated rise in engine speed resulting from the balance test will be less than the rise in engine speed occurring when the high output injector is fueled and a nominal injector is cut out. Adjustment factors compensate for a high output injector by reducing the fuel delivered to that injector. By compensating the fuel injectors, the present invention operates to reduce engine wear, reduce the amount of engine smoke and particulates generated, and provide smoother power delivery. It should be appreciated that the injector specific information described above may be retrieved and/or compared in the user-interface 34 or in the ECM 20 for engine diagnosis and tracking purposes.

Referring now to FIG. 3, there is shown a flow chart detailing the steps for fuel economy speed limit adder according to the present invention. The philosophy of this aspect of the present invention is to provide an incentive to the vehicle operator to behave in a way generally consistent with the goals of the fleet managers to maximize fuel economy. Typically, drivers strive to increase vehicle speed. In light of this fact, increasing the speed available to the driver as fuel economy increases as a result of for example, minimization of idle time, selection of the optimum transmission gear, maintaining a steady throttle, or reducing the use of engine-driven accessory loads, provides a powerful incentive for the driver to behave as desired.

The strategy to provide the speed-based incentive utilizes numerous variables. In the preferred embodiment, calibration values for these variables are as follows:

    ______________________________________                                                                  MIN.     INITIAL                                      NAME       RANGE         RESOL.   VALUE                                        ______________________________________                                         THRESH.sub.MPG                                                                            2 to 20 MPG   .1 MPG   7 MPG                                        MAX.sub.-- MPH.sub.MPG                                                                    0 to 10 MPH   1 MPH    5 MPH                                        MPH.sub.-- MPG.sub.GN                                                                     0 to 20 MPH/MPG                                                                              .1 MPH/  5 MPH/MPG                                                             MPG                                                   MPG.sub.-- FILT.sub.CON                                                                   0 to .01      .00002   .00055                                       MPG.sub.-- LIM                                                                            0 to 10 MPG   .1 MPG   3 MPG                                        MPG.sub.-- TYPE                                                                           Switch        0 = trip 1 = filtered                                                          avg.,                                                 ______________________________________                                    

Fuel economy, measured in terms of miles per gallon (MPG), can be either the trip average fuel economy (MPG₋₋ TYPE=0) or a filtered fuel economy (MPG TYPE=1). In the preferred embodiment, filtered MPG (FIL_(MPG)) is utilized and is calculated at step 70 using a standard 1^(st) order lag calculation and limited between calibration limits:

    FIL.sub.MPG =min(MPG.sub.-- LIM+THRESH.sub.MPG,max(THRESH.sub.MPG -MPG.sub.-- LIM,(FIL.sub.MPG.sbsb.t-1 +MPG.sub.-- FILT.sub.CON *(INST.sub.MPG -FIL.sub.MPG.sbsb.T-1))))                  (8)

wherein MPG_(LIM) represents the maximum permissible deviation from the fleet fuel economy goal, THRESH_(MPG) represents a threshold fuel economy, MPG_(--FILT) _(CON) is a fuel economy filter constant, INST_(MPG) represents an instantaneous fuel economy, and FIL_(MPGt-1) represents the previously determined filtered fuel economy. This calculation is done frequently, such as once per second, so as to avoid spurious fuel economy readings.

The MPGMPH term, which represents the speed adder, is calculated to increase allowable vehicle speed once the threshold fuel economy has been obtained, although it is limited to the maximum speed calibration value MAX₋₋ MPH_(MPG). More specifically, allowable vehicle speed is increased proportionally to the amount the threshold fuel economy is exceeded. In the preferred embodiment, the MPGMPH term is determined at step 72 according to:

    MPGMPH=min(MAX.sub.-- MPH.sub.MPG, MPH.sub.-- MPG.sub.GN *max(0(INST.sub.MPG -THRESH.sub.MPG)))                    (9)

wherein MAX₋₋ MPH_(MPG) represents the maximum amount the vehicle speed may be increased, and MPH₋₋ MPG_(GN) is the fuel economy gain the value of which may vary based on customer input. For the feature to function as intended, the calculated MPG value is preferably saved across ignition cycles, and initialized to zero in the case of the first power up or in the case of an error. If the VSS fails, the speed adder is set to zero. At step 74, the ECM adjusts the speed maximums. More particularly, the cruise maximum MPH (CCMAXS) and the road speed limit maximum MPH (RSLMPH) are modified by the addition of MPGMPH to CCMAXS and RSLMPH when this feature is enabled.

According to another aspect of the present invention, fuel delivery to the engine is limited at certain altitudes. The philosophy of this aspect of the present invention is to prevent damage to the turbocharger from excessive speed or compressor surging at certain barometric pressures (such as at high altitudes), preferably by reducing power via a torque limit at those barometric pressures.

In the preferred embodiment, a limit torque (HATQ) is defined as follows: ##EQU4## wherein RPM_(MX) represents the RPM for maximum barometric pressure compensation which has a range of 0-2500 with a default value of 1800 RPM, RPM is the engine speed, TRQ_(MN) represents the minimum torque after compensation which has a range of 0-100 and a default of 100%, RPM_(MN) represents the minimum RPM for compensation which has a range of 0-2500 and a default of 1100 RPM, PR_(TQ) represents the pressure gain for compensation which has a range of 0-2% per kPa and a default value of 1% per kPa, and PR_(MN) represents the minimum pressure for compensation which has a range of 0-120 and a default value of 50 kPa. The calculations are performed, and the torque limit is imposed when the conditions for torque limiting exist, such as if the barometric pressure is below that which provides a torque that is greater than or equivalent to the current requested torque. It should be noted that the variables are calibrated such that RPM_(MX) >RPM_(MN).

FIG. 4 is a graphical representation of the torque reduction (i.e. percent of maximum engine output torque) as a function of altitude and engine speed. The solid lines indicate typical requested torque limit, and lines of constant power. Limited torques are shown for barometric pressures of 0 kPa, 50 kPa, 72.86 kPa, 81.12 kPa and 100 kPa. As shown, the torque reduction increases with increasing altitude. More particularly, the graph illustrates various torque reductions for a particular engine application, with TRQ_(MN) =57%, RPM_(MN) =1050 RPM, RPM_(MX) =2100 RPM, PR_(TQ) =0.0080, and PR_(MN) =50 kPa. Once determined, the limit torque may be imposed as a global engine torque limit as described above.

As previously noted, the user interface, or data hub, 34 is used to store user calibration parameters, fleet management information, and retrieve engine historical information logged as a result of diagnostic or malfunction codes. The data hub 34 preferably stores this information in sets referred to herein as pages, although various other methods of storage are possible, such as ASCII files. The first page relates to vehicle information. In the preferred embodiment, the vehicle information page includes total vehicle distance, total fuel used, total engine hours and engine serial number. All values are maintained from the first use of the engine, and can not be reset.

The electronic control module 20 can sample various sensors at regular intervals under controlled conditions, or it can sample continuously. For instance, the coolant temperature may be sampled continuously when the engine is expected to have reached operating temperature. Studying the trend data over a period of time gives an indication of the condition of the element being measured or may give an indirect indication of the condition of other elements of the engine. For instance, falling average coolant temperature may indicate a malfunctioning thermostat, whereas a rising temperature may indicate a clogged radiator.

Accordingly, the electronic control module 20 cooperates with the data hub 34 to maintain a plurality of trends pages. Generally, trend information can be reset, but the preferred practice is to let the trends run forever. In this manner, a predetermined number of most recent sample, for example 100, are always available for trend analyses. For purposes of this discussion, the values represented by the letters "aaa", "bbb" and so on can be user-specified to customize the trend information, and the value in () after the letters indicates the default value. Of course, the default values may be hard-coded into the system, removing that aspect of customer input. Lastly, it should be noted that all trend pages may be reset. Resetting will clear all of the trend sample points stored on a particular page.

The first trend page maintained relates to oil pressure. An oil pressure trend sample is monitored during every aaa(20) engine hours. The average oil pressure for all of the time in the sample period where the RPM exceeded bbb(1600) but was less than ccc(1800), and the oil temperature exceeded ddd(180° F.) but was less than eee(220° F.) is taken as the sample. The starting engine hours point from which the sample was taken is also stored. Generally, the oil pressure trend is monitored for an unusual change in pressure, such as a large drop in pressure. Such a drop in pressure may be indicative of mechanical problems, a regulation problem, fuel dilution, or a low quantity of oil.

The data hub also maintains a turbo boost pressure trend page. In the preferred embodiment, a turbo boost pressure trend sample is monitored during every aaa(20) engine hours. The average turbo boost pressure for all of the time in the sample period where the RPM was greater than bbb(1400) and less than ccc(1600) and the powertrain demand is greater than or equal to ddd(96%) and less than or equal to eee(100%) is taken as the sample. The starting engine hours point from which the sample was taken is also stored. The turbo boost trend operates to monitor the fuel and air system. Generally, an air leak manifests itself as a reduction in the turbo boost. Similarly, a fuel restriction (e.g. clogged fuel filter) manifests itself as a reduction in the turbo boost.

As a means of monitoring the electrical system, the data hub 34 maintains a battery voltage trend page. A battery voltage trend sample is taken every aaa(20) engine hours for a period of bbb(60) minutes. The average battery voltage for all of the time in the sample period where the rpm was greater than ccc(1600) and less than ddd(1800) is taken as the sample. The starting engine hours point from which the sample was taken is also stored. Generally, an unusual increase in battery voltage may be indicative of voltage regulator failure, whereas an unusual decrease in battery voltage may be indicative of a broke alternator belt.

The data hub also maintains a fuel economy trend page. A fuel economy trend takes a sample every aaa(20) engine hours and records the average fuel economy between the last sample and the current sample. The starting engine hours point from which the sample was taken is also stored.

As a means of monitoring the oil cooling system, the data hub 34 maintains a maximum oil temperature trend page. A maximum oil temperature sample is taken every aaa(20) engine hours. The maximum oil temperature reached between the time the last sample taken and the current sample is recorded on the page. The starting engine hours point from which the sample was taken is also stored. An oil temperature measurement which indicates a rise in maximum temperature may be indicative of engine mechanical problems.

Additionally, a coolant temperature sample is taken every aaa(20) engine hours. The maximum coolant temperature reached between the time the last sample was taken and the current sample is recorded. The starting engine hours point from which the sample was taken is also stored. An coolant temperature measurement which indicates a rise in maximum temperature may be indicative of plugged radiator, a malfunctioning thermostat, or fan problems.

The data hub also maintains a maximum RPM trend page. An RPM sample is taken every aaa(20) engine hours and the maximum RPM reached between the time the last sample was taken and the current sample is recorded on the page. The starting engine hours point from which the sample was taken is also stored. Through the maintenance of maximum RPM trend pages, driver comparisons are possible.

As another means of making driver comparisons, the data hub also maintains maximum vehicle speed trend pages. A speed sample is taken every aaa(20) engine hours. It records the maximum speed reached between the time the last sample was taken and the current sample, and the starting engine hours point from which the sample was taken is also stored.

Additionally, the data hub 34 maintains minimum throttle position sensor voltage trend pages. It should be appreciated that various types of throttle position sensors, such as a ratiometric sensor, may be used. A throttle position voltage sample is taken every aaa(20) engine hours. The minimum throttle position voltage reached between the time the last sample was taken and the current sample is recorded, and the starting engine hours point from which the sample was taken is also stored. With this information, throttle position sensor wear can be monitored. Generally, the output of the throttle position sensor decreases in value as the sensor wears.

In addition to the trend pages discussed in greater detail above, the data hub 34 is capable of performing lifing of vehicle components, such as engine components. In a preferred embodiment, up to 10 components can be watched independently. During the setup of the electronic control module 20 information, the names of the 10 components to be watched can be specified by an operator. These can be any names required, for instance, oil filter, coolant, oil, and the like. Each of the components can be watched by one or more of the following mechanisms: vehicle distance travelled, engine hours used, calendar time, total engine revolutions, total fuel burned or idle time. The lifing information is maintained on a service interval page, which shows, for each of the vehicle components the engine service interval being calculated for, the value set for the service life and the total usage currently incurred. The lifing information also preferably includes percent of life left, as well as the expected replacement/service date based on vehicle usage rates. The following components, to name a few, can be set up as standard for component lifing: oil filter, oil, air filter, fuel filter, and coolant. Each of the individual components for which the service interval is calculated may be reset, so that its accumulated use is set to zero.

The event log page provides a coarse indication of the usage of the engine. In the event log, the state of the engine will be logged for the ninety-six (96) quarter hour intervals in a day. The event log will keep this information for a predetermined number of (the most recent) days, such as five (5). The following information is preferably available: start date and time, end date and time, number of entries, and entry (indicating engine on, off, idle, and cruise) for the 480 quarter hour entries. If the ECM clock is not properly set, or the power has been removed, this page may give inappropriate results.

In addition to the features described above, the electronic control module 20 also performs throttle control logic. More specifically, the electronic control module 20 determines a throttle position offset so as to ensure that when the throttle is fully released, the throttle position sensor (TPS) value is zero, and to ensure that the value is forced to zero in error conditions as a safety precaution. An additional mechanism, if configured, operates to prevent the engine from being accelerated when a vehicle door is open.

In determining the throttle position offset, the electronic control module 20 utilizes an impulse filtered offset, a smoothed offset, and a computed offset. Generally, the impulse filtered offset is obtained by taking the middle of a group (such as three) of samples. Thus, the effect is drop the highest and lowest samples of a group of samples. The smoothed offset is obtained utilizing a first order lag filter. The computed offset is obtained as described below.

With reference now to FIG. 5, at the start of an ignition cycle, the impulse filtered offset, the smoothed offset, and the computed offset are initialized to the maximum physically possible raw value (e.g. 1023). If the A/D converter device associated with the TPS is in a conversion fail condition, or if a digital input is configured as a dual drive EFPA switch and the debounced state of that input changes indicating a change in the active TPS (step 80), then at step 82 the impulse filtered offset, the smoothed offset, and the computed offset are held at the maximum physically possible raw value.

As shown in FIG. 5, if a sensor fail low or sensor fail high fault is detected, or if one of the digital inputs to the ECM 20 is configured to be a door switch, and the debounced state of that input represents a low external input indicating an open vehicle door (step 84), the impulse filtered offset, the smoothed offset, and the computer offset are held at the maximum physically possible raw value at step 86.

Otherwise, at each conversion, the raw value of the TPS output is passed through the impulse noise filter at step 88, which, as described above, will keep the most recent three raw values and pass the arithmetic middle value (median). The result, which is the impulse filtered offset (IFO), is then filtered with a first order lag filter to obtain the smoothed offset as follows.

With continuing reference to FIG. 5, if the impulse filtered offset is greater than the previous smoothed offset (step 90), the equation (step 92) is:

    SO.sub.T =SO.sub.T-1 +TPINFC(IFO-SO.sub.T-1)

wherein SO_(T) represents the new smoothed offset, SO_(T-1) represents the old smoothed offset, TPINFC represents the throttle position sensor offset increasing filter constant which has a range of 0-1, and a default value of 0.01.

Otherwise, at step 94 the smoothed offset is determined as follows:

    SO.sub.T =SO.sub.T-1 +TPDEFC(IFO-SO.sub.T-1)

wherein TPDEFC represents the throttle position sensor offset decreasing filter constant which has a range of 0-1, and a default value of 0.2.

If the ECM 20 receives as a digital input a throttle idle switch output and the debounced state of that input represents a low external input to the ECM indicating a closed throttle idle validation switch (step 96), then the computed offset is obtained at step 98 as follows:

    CO.sub.T =max(CO.sub.T-1,max(SO.sub.T +TPOHIS, TPOMIN)

wherein CO_(T) represents the new computed offset, CO_(T-1) represents the old computed offset, SO_(T) represents the smoothed offset, TPOHIS represents the throttle position sensor offset hysteresis which has a range of 0-250, and TPOMIN represents the throttle position sensor minimum offset which has a range of 0-250. Thus, the ECM 20 first compares the sum of the current smoothed offset and the TPS offset hysteresis and the TPS minimum offset and takes the maximum of the two. The ECM then compares that quantity with the previous computed throttle offset and takes the maximum of those two as the new throttle offset.

Otherwise, the computed offset is determined at step 100 as follows:

    CO.sub.T =max(min(CO.sub.T-1,SO.sub.T +TPOHIS),TPOMIN)

Thus, the ECM first compares the previous computed offset and the sum of the current smoothed offset and the TPS offset hysteresis and takes the minimum. Next,the ECM 20 compares that quantity to the TPS minimum offset and takes the maximum of that comparison.

In addition to the features described above, the present invention also contemplates a gear ratio torque limit embodied in a final torque determination by the electronic control module 20. The gear ratio torque limit strategy will first be provided, followed by an explanation of the variables, terms and the like used therein. It should be appreciated that although the present discussion focuses on a low gears torque limit, the strategy is equally applicable to other gear ratios with appropriate modifications.

With reference now to FIG. 6, generally the low gears torque limit strategy limits engine torque based on engine speed (ES) and vehicle speed (VS) in an effort to protect the transmission from damage. As shown, the engine and vehicle speeds are measured at step 110. More particularly, at step 112, a virtual gear ratio (VGR) is determined. VGR is defined as the ratio of engine speed and vehicle (VGR=ES/VS). At step 114, VGR is compared to a predetermined value, such as a low gear torque limit threshold (trlrat). Based on that comparison, engine torque may be limited. It should be appreciated that there could be predetermined values associated with a variety of gear ratios--rather than a single threshold.

With continuing reference to FIG. 6, in the preferred embodiment, at step 116 the ECM 20 determines if the VGR has not been below the threshold plus/minus some hysteresis (trlhys) since it was last above trlrat. Generally, if VGR is decreasing, VGR is compared to the quantity (trlrat-trlhys), whereas VGR is compared to the quantity (trlrat+trlhys) if VGR is increasing. The use of hysteresis has known benefits. Based on the comparison at step 116, engine torque is limited to the value of the low gear torque limit (trllim) at step 118, which is calibratable. The result is that when the transmission is in a low gear (i.e. high engine speed per vehicle speed), the engine torque is limited. In this manner, a lighter duty transmission, with its attendant cost savings, can be utilized.

In the preferred embodiment, if the engine is being shutdown, due for example to the existence of a stop engine condition, final torque is set to zero. The determination of final torque (FTQ) varies based on numerous considerations described below. If the electronic control module is a master controller (rather than a slave controller), and a slave-to-master message has been read from a communications link (such as an SAE J1939 link) during the current ignition cycle, then final torque (FTQ) is determined as follows:

    FTQ=min(RDTQ.sub.CTL, RDTQ.sub.MSS, SCTQ)

wherein RDTQ_(CTL) is the rampdown torque determined by the ECM, RDTQ_(MSS) is the rampdown torque from the most recent message received over the link, and SCTQ is the smoke control torque.

Otherwise, if the vehicle speed sensor is enabled, low gear torque limit is enabled, external engine synchronization is not set, and a vehicle speed sensor failure fault is detected, FTQ is:

    FTQ=min(RDTQ, trllim, SCTQ)

wherein RDTQ is rampdown torque, trllim is the low gear torque limit value having a range of 0-100% and a coarse resolution of 0.5%, and SCTQ is smoke control torque. Thus, the minimum of the three quantities is utilized as final torque.

Otherwise, if the vehicle speed sensor is enabled, low gear torque limit is enabled, external engine synchronization is not set, and the vehicle speed is less than the cruise control minimum speed to set the cruise, FTQ is:

    FTQ=min(RDTQ, trllim, SCTQ)

Otherwise, if the vehicle speed sensor is enabled, low gear torque limit is enabled, external engine synchronization is not set, and VGR has not been below trlrat-trlhys since it was last above trlrat, then FTQ is:

    FTQ-min(RDTQ, trllim, SCTQ)

wherein trlrat is the low gear torque limit VGR threshold having a range of 0-300 and a default of 0.01 RPM/MPH, and trlhys is the low gear torque limit VGR hysteresis having a range of 0-300 and a default of 0.01 RPM/MPH.

Otherwise,

    FTQ=min(RDTQ, SCTQ)

Rampdown torque (RDTQ) is determined based on a stop engine limit torque, an overtemperature limit torque, and a marine limit torque, according to:

    RDTQ=(min SETQ, OTTQ, MLTQ)

wherein SETQ is the stop engine limit torque, OTTQ is the overtemperature limit torque, and MLTQ is the marine limit torque.

Generally, stop engine torque limiting occurs when a stop engine condition exists, such as low oil pressure. In the preferred embodiment, SETQ is determined according to:

    SETQ=max(setmin, ST*STPTST)

wherein setmin is the stop engine minimum torque, ST is the saved torque--the value of final torque FTQ at the time the first stop engine condition occurred, and STPTST is the stop engine throttle scaling time, which has a range of 0-100 and a coarse resolution of 0.5%.

Thus, to determine the stop engine torque limit, the ECM 20 compares the values of the stop engine minimum torque, and the quantity of the saved torque and the stop engine scaling time, and sets SETQ as the maximum of the compared values. If no stop engine condition exists, SETQ is 100% of the available engine torque or the final torque (FTQ).

As shown above, the rampdown torque is also based on an overtemperature limit torque. Generally, overtemperature torque limiting occurs when at least one overtemperature condition exists. Typical overtemperature conditions include, but are not necessarily limited to, excessive cylinder head temperatures, coolant temperatures, oil temperatures and transmission temperatures. If overtemperature is enabled, in the preferred embodiment, OTTQ is determined according to:

    OTTQ=max(setmin,ST*DIWTST)

wherein ST is saved torque--the value of filtered torque (STQ) at the time the overtemperature condition began, and DIWTST is the warning throttle scaling table value, the value of which varies based on the magnitude of the overtemperature. In one embodiment, DIWTST has a value of 0-100.

Marine limit torque is also utilized in determining the rampdown torque. Preferably, the marine limit torque is determined according to: ##EQU5## wherein tqtret is the maximum torque reduction end time, TMR_(TL) is the torque limiting timer the value of which represents the time since the torque limit was exceeded, tqtrst is the maximum torque reduction start time variable, MAXTQ is the maximum torque of the engine, DTQLMT is the digital torque limiting table value which is based on the engine speed (ENGRPM), TQADV is the torque adjustment table value which is based on the engine rating and the engine speed, ARN is the active rating number. If the TMR_(TL) is less than the value of the maximum torque reduction start time variable (tqtrst), then the marine limit torque is 100% of the final torque.

As shown above, the final torque FTQ is determined with a comparison to SCTQ, the start and smoke control torque. If the engine is in the start mode of operation, SCTQ is determined according to:

    SCTQ=RTQI+SMDTQ

wherein RTQI represents the driver requested torque and SMDTQ is the starting torque, the value of which varies based on oil temperature and engine speed. In the preferred embodiment, the engine is in the start mode of operation if the engine speed is within a predetermined speed window. More specifically, the engine is in a start mode if the engine speed has not been above the quantity smiddl+ISPD (wherein smiddl represents a predetermined delta speed above the engine idle speed which must be exceeded to exit the start mode of engine operation, and ISPD represents the idle speed) since the engine speed was last below smback (which represents the engine speed to reenter the start mode).

Otherwise, if governor torque (GOTQ) exceeds the smoke limit torque (SLTQ), the engine is in a smoke control mode of operation, and SCTQ=SLTQ, which is determined utilizing the smoke limit torque (SCTORQ) function, the value of which varies based on engine rating (ARN), SCBST (smoke control boost pressure), and engine speed (ENGRPM):

    SLTQ=SCTORQ(ARN,SCBST,ENGRPM)

Otherwise, SCTQ= requested torque.

In a preferred embodiment, the ECM 20 implements an idle shutdown based on air ambient temperature. More specifically, this feature adds the capability of setting low and high ambient temperature limits for disallowing an idle shutdown override. The ECM 20 disallows the idle shutdown override if the ambient temperature is between the two calibratable temperature limits. If, however, the ambient temperature is without the temperature limits, idle shutdown override will not be disabled, and continued idle operation will be permitted if the throttle pedal is depressed during an idle shutdown warning period, such as, for example, the purposes of heating or cooling the vehicle cab.

In the preferred embodiment, upon override of the idle shutdown, a timer is set any time the ambient temperature is determined to be within the calibratable limits. If the temperature remains within the limits for a period of time, such as twenty (20) minutes, after the idle shutdown override has been enabled, and all other conditions for idle shutdown continue to be met, the engine will be shut down. Idle shutdown between the temperature limits will also be permitted if an attempt to defeat the disabling is detected. Ambient air temperature can be obtained either directly through the use of an appropriate temperature sensor, or indirectly through an appropriate algorithm using other sensor values.

In a preferred embodiment, the ECM 20 also implements improved fan control logic. A detailed discussion of fan control is provided in U.S. patent application Ser. No. 08/113,424, filed on Aug. 27, 1993, titled "Method for Engine Control" and assigned to the assignee of the present application, the specification of which is hereby expressly incorporated by reference in its entirety. More specifically, this feature adds the capability of providing fan operation based on the operational state of the transmission retarder and the coolant temperature.

According to the present invention, the ECM 20 includes a digital input function providing for fan operation when the transmission retarder has been activated for a period of time and the coolant temperature has exceeded a particular temperature. In this way, the ECM 20 automatically energizes the fan so as to assist in the cooling of the engine in response to the quantity of heat absorbed by the coolant due to the operation of the transmission retarder.

Still further, in a preferred embodiment, the ECM 20 includes an air temperature torque limit. If any part of the fan system were to fail or if a vehicle operator forgets to remove their radiator winter cover prior to driving in warm ambient temperatures, the compressed air from the turbocharger will not be cooled sufficiently prior to delivery to the cylinders. As a result, combustion temperatures rise, as does friction, wearing the cylinder walls and piston prematurely. Although other configurations are possible, this feature is preferably configured such that torque is reduced if the air inlet temperature is greater than ATNTMP and engine speed is greater than ATNRPM to a maximum reduction of ATQMIN at ATXRPM. Setting ATNRPM to an RPM greater than the maximum transmission override RPM will disable this feature.

More specifically, whenever the air (compressed or uncompressed) inlet temperature rises above ATNTMP and the engine speed exceeds ATNRPM, an absolute torque limit will be computed. The torque of the engine will not exceed this limit. The air temperature torque limit is preferably configured to approximate constant horsepower for a given temperature which provides predictable engine behavior and appropriate engine protection. If the air temperature sensor fails high, the air temperature will ramp down or up to the default air temperature. The input filter constant AIIFC determines the ramp rate which preferably spans several seconds so that abrupt torque limit jumps do not occur.

The air temperature torque limit is determined as follows: ##EQU6## wherein AIT is the air inlet temperature, ATNRPM is the engine speed at or below which ATTQ is 100% for any air inlet temperature, ATQMAX is the absolute torque limit when the engine rpm is greater than or equal to ATXRPM and the air inlet temperature is less than or equal to ATNRMP, ATQMIN is the minimum absolute torque limit (ATTQ equals this value when speed is greater than or equal to ATXRPM and the air inlet temperature is greater than or equal to ATXTMP), ATTQ is an absolute torque limit and is a factor in determining the rampdown torque (the final torque (FTQ) can not exceed this limit), ATXRPM is the engine speed at which ATTQ=ATQMAX when air temperature ≦ATNTMP and engine speed is at or above which maximum torque reduction occurs, specifically ATTQ =ATQMIN when air temperature ≧ATXTMP, and ENGRPM is the engine RPM averaged over 90° for 8- and 16-cylinder engines, 180° degrees for 4-cylinder engines, and 120° for others.

Referring now to FIG. 7, there is a graphical representation of absolute torque versus engine speed illustrating the relationship between speed, air temperature and torque limit.

It is understood, of course, that while the forms of the invention herein shown and described constitute the preferred embodiments of the invention, they are not intended to illustrate all possible forms thereof. It will also be understood that the words used are descriptive rather than limiting, and that various changes may be made without departing from the spirit and scope of the invention disclosed. 

What is claimed is:
 1. A method for balancing power output in a vehicle including an internal combustion engine controlled by an electronic control module, the engine having a plurality of cylinders, each cylinder having an associated fuel injector for dispensing fuel to the cylinder, said method implemented by the electronic control module comprising:operating the engine at a predetermined idle speed and permitting the engine to stabilize; cutting off fuel dispensed by the fuel injectors to at least one of the cylinders so as to define at least one cut off cylinder; measuring acceleration RPM of the engine; and modifying the fuel dispensed to the fuel injectors based on the measured acceleration RPM so as to balance power output of each cylinder.
 2. The method of claim 1 wherein the step of measuring acceleration RPM of the engine comprises operating the engine for a predetermined number of engine revolutions while dispensing fuel to those fuel injectors not included in the at least one cut off cylinder according to a fueling scheme which ensures occurrence of a predetermined number of cylinder firings.
 3. The method of claim 1 wherein the step of modifying includes determining a temporary fuel injector pulsewidth adjustment factor for each of the at least one cut off cylinder, based on the measured acceleration RPM.
 4. The method of claim 3 further comprising determining a normalizing factor for each of the at least one cut off cylinder based on the temporary fuel injector pulsewidth adjustment factors.
 5. The method of claim 4 wherein modifying the fuel dispensed includes modifying fuel injector pulsewidth based on the normalizing factor.
 6. A method for improving fuel economy in a vehicle including an internal combustion engine in communication with an electronic control module having a vehicle speed parameter for storing a value representing a permissible vehicle speed, said method implemented by the electronic control module comprising the steps of:determining a filtered fuel economy; determining a vehicle speed adder based on the determined filtered fuel economy; and modifying the value of the vehicle speed parameter utilizing the speed adder; and controlling the engine based on the modified value of the vehicle speed parameter.
 7. The method of claim 6 wherein the step of determining a filtered fuel economy comprises utilizing a first order lag calculation limited between predetermined limits.
 8. The method of claim 6 wherein the step of determining a filtered fuel economy comprises evaluating:

    FIL.sub.MPG =min(MPG.sub.-- LIM+THRESH.sub.MPG, max(THRE(FIL.sub.MPG.sbsb.t-1 +MPG.sub.-- FILT.sub.CON *(INST.sub.MPG -,

wherein MPG₋₋ LIM represents the maximum permissible deviation from a fleet fuel economy goal, THRESH_(MPG) represents a threshold fuel economy, MPG₋₋ FILT_(CON) is a fuel economy filter constant, INST_(MPG) represents an instantaneous fuel economy, and FIL_(MPGt-1) represents a previously determined filtered fuel economy.
 9. The method of claim 6 wherein the step of determining a vehicle speed adder comprises evaluating:

    MPGMPH=min(MAX.sub.-- MPH.sub.MPG, MPH.sub.-- MPG.sub.GN *max

wherein MAX₋₋ MPH_(MPG) represents a maximum amount by which the value of the vehicle speed parameter may be increased, and MPH₋₋ MPG_(GN) is a fuel economy gain.
 10. The method of claim 6 wherein the value of the vehicle speed parameter may be increased only after a threshold fuel economy has been attained.
 11. A method for preventing damage to a turbocharger of a vehicle including an electronic control module for controlling an internal combustion engine equipped with said turbocharger, said method implemented by the electronic control module comprising the steps of:determining a torque modifier based on a value indicative of current barometric pressure; determining a limit torque based on the torque modifier; and limiting fuel delivery to the engine based on the limit torque so as to limit turbocharger speed to prevent damage to the turbocharger.
 12. The method of claim 11 wherein the step of determining a torque modifier comprises determining a torque modifier according to: ##EQU7## wherein RPM_(MX) represents engine speed for maximum barometric pressure compensation, TRQ_(MN) represents minimum torque after compensation, RPM_(MN) represents minimum RPM for compensation, PR_(TQ) represents pressure gain for compensation, and PR_(MN) represents minimum pressure for compensation.
 13. The method of claim 12 wherein the step of determining a limit torque comprises determining a limit torque according to:

    HATQ=min(1, TRQ.sub.MN +max(0, TMP)).


14. A system for sampling vehicular operating conditions of a vehicle equipped with an internal combustion engine and an electronic control module for controlling the engine, the system comprising:a plurality of sensors for providing signals indicative of vehicular operating information wherein at least one of the plurality of sensors is in communication with the electronic control module; a memory in communication with the electronic control module for maintaining sampled information from the electronic control module in a plurality of pages; and a microprocessor in communication with the memory and with the electronic control module, the microprocessor for cooperating with the electronic control module to maintain a plurality of trends pages in the memory, each trends page including a predetermined number of samples, the trends pages providing an indication of at least one of a plurality of vehicle operating conditions or driver performance.
 15. The system of claim 14 wherein the microprocessor maintains the plurality of trends pages for at least one of the group consisting of oil pressure, turbocharger boost pressure, battery voltage, fuel economy, oil temperature, coolant temperature, engine speed, vehicle speed, and minimum throttle position sensor voltage.
 16. The system of claim 14 wherein the microprocessor performs vehicle service interval analyses for predetermined vehicle components based upon at least one of the group consisting of vehicle distance traveled, engine hours used, calendar time, total engine revolutions, total fuel combusted, and engine idle time.
 17. A method for throttle logic in a vehicle including an internal combustion engine controlled by an electronic control module and a vehicle operator-controlled throttle for controlling the amount of fuel delivered to the engine, said method implemented by the electronic control module comprising the steps of:obtaining an impulse filtered throttle position offset by filtering the raw value of a throttle position sensor output; determining a smoothed throttle position offset based on the impulse filtered throttle position offset and a variable filter constant; determining a computed throttle position offset based on a throttle position hysteresis and the smoothed offset; and controlling the engine based on the computed throttle position offset.
 18. The method of claim 17 wherein the step of determining a smoothed throttle position offset comprises determining a smoothed throttle position offset utilizing a filter constant having a value which varies based on relative values of the impulse filtered throttle position offset and a previously determined smoothed throttle position offset.
 19. The method of claim 18 wherein the step of determining a smoothed throttle position offset comprises determining the smoothed throttle position offset according to

    SO.sub.T =SO.sub.T-1 +TPINFC(IFO-SO.sub.T-1)

when the impulse filtered offset is greater than a previously determined smoothed offset, wherein SO_(T) represents a current smoothed offset, SO_(T-1) represents the previously determined smoothed offset, and TPINFC represents a throttle position sensor offset increasing filter constant.
 20. The method of claim 18 wherein the step of determining a smoothed throttle position offset comprises determining the smoothed offset according to

    SO.sub.T =SO.sub.T-1 +TPDEFC(IFO-SO.sub.T-1)

when the impulse filtered offset is not greater than a previously determined smoothed offset, wherein SO_(T) represents a current smoothed offset, SO_(T-1) represents the previously determined smoothed offset, and TPDEFC represents a throttle position sensor offset decreasing filter constant.
 21. A method for preventing engine damage in a vehicle including an electronic control module for controlling an internal combustion engine having a plurality of cylinders and a corresponding plurality of pistons reciprocating in the plurality of cylinders, said method implemented by the electronic control module for preventing damage to any of the plurality of cylinders and pistons during vehicle operation, said method comprising:determining temperature of air inlet to the engine during a combustion cycle; measuring operating speed of the engine; determining an engine torque limit based on the determined temperature and the measured operating speed of the engine; and controlling the engine based on the determined engine torque limit so as to prevent damage to any of the plurality of cylinders and pistons.
 22. The method of claim 21 wherein the step of determining an engine torque limit comprises determining the engine torque limit according to: ##EQU8## wherein AIT represents the temperature of air inlet, ATNRPM represents engine speed at or below which ATTQ is 100% for any air inlet temperature, ATQMAX represents maximum engine torque limit, ATQMIN represents minimum absolute torque limit, ATTQ represents an absolute torque limit and is a factor in determining rampdown torque, ATXRPM represents engine speed at or above which maximum torque reduction is permitted for current engine speed, and ENGRPM represents normal engine RPM averaged over degrees of rotation based on the plurality of engine cylinders.
 23. A method for preventing transmission damage in a vehicle having a drivetrain including an electronic control module for controlling an internal combustion engine, the vehicle also including a transmission coupled to the engine, said method implemented by the electronic control module for controlling engine torque to prevent damage to the transmission, the method comprising:determining a virtual gear ratio based on engine speed and vehicle speed; and limiting torque produced by the engine based on the value of the virtual gear ratio so as to prevent damage to the transmission.
 24. The method of claim 23 wherein the step of determining a virtual gear ratio (VGR) comprises determining the virtual gear ratio according to:

    VGR=ES/VS

wherein ES represents the engine speed and VS represents the vehicle speed.
 25. The method of claim 23 further comprising comparing the virtual gear ratio to at least one torque limit threshold, wherein the step of limiting torque produced by the engine includes limiting the torque to a particular torque if the virtual gear ratio exceeds the at least one torque limit threshold. 